﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Web.Caching;

public partial class Main : System.Web.UI.UserControl
{
    DatabaseHelper DB = new DatabaseHelper();
    private Cache cache = HttpContext.Current.Cache;
    protected void Page_Load(object sender, EventArgs e)
    {
        /*
        if (!IsPostBack)
        {

            if (cache[Request.UserHostAddress] != null)
            {
                this.Label1.Text = "Welcom " + cache[Request.UserHostAddress];
            }
            else
            {
                this.Label1.Text = "Welcom nothing";
            }
            
        }
         */
        //this.txtUserName.Text = Utils.Decrypt("n6Rlwm8TRQdIL0Iu3zkPmw==", "thanhpb");
    }
    protected void btnOK_Authenticate(object sender, EventArgs e)
    {
    	/*
        string lang = Utils.GetLanguage(Request, Session);
        string alert = "";
        string Failure = "Mật khẩu hoặc tên đăng nhập không đúng";
        alert = "Mật khẩu đã quá 90 ngày. Vui lòng đổi mật khẩu mới.";
        if (Page.IsValid)
        {
            string UserName = this.txtUserName.Text.Trim();
            string Password = this.txtPassword.Text.Trim();
            string PasswordEncrypt = DB.Encrypt(Password, UserName.ToLower());
            string Query = "EXEC Member_CheckLogin '" + Utils.KillChars(UserName) + "','" + Password + "'";
            string QueryNumberLogin = "EXEC Member_CheckLogin '" + Utils.KillChars(UserName) + "','" + PasswordEncrypt + "',2";
            DataTable dtNumberLogin = DB.ExecuteDataTable(QueryNumberLogin);
            if (dtNumberLogin.Rows.Count == 0)
            {
                bool IsLogin = checkMultiLogin(UserName);

                //Luu vao cache
                // cache.Insert(Request.UserHostAddress, UserName, null, DateTime.MaxValue, TimeSpan.FromMinutes(10));
                cache.Insert(UserName, Request.UserHostAddress, null, DateTime.MaxValue, TimeSpan.FromMinutes(10));
                //End

                DataTable dt = DB.ExecuteDataTable(Query);
                if (dt.Rows.Count > 0)
                {
                    DataRow row = dt.Rows[0];
                    int TotalDay = int.Parse(row["TotalDay"].ToString());
                    //int isLogin = Convert.ToInt32(row["IsAdminUser"]);
                    if (TotalDay > 90)
                    {
                        cache.Insert(UserName, Request.UserHostAddress, null, DateTime.MaxValue, TimeSpan.FromMinutes(10));
                        Session["UserName"] = row["Username"].ToString();
                        //string url = rootPage + "/Admin/Default.aspx?Mod=Member&CatId=7";
                        string url = "Default.html/Admin/Member/7";
                        Utils.ShowMessageBoxAndRefresh(this.Page, alert, url);
                    }
                    else
                    {
                        Session["isLogin"] = true;
                        //Session["UserId"] = row["ID"].ToString();
                        Session["UserName"] = row["Username"].ToString();
                        Session["DisplayName"] = row["DisplayName"].ToString();
                        Response.Redirect("~/Default.aspx");
                        //DB.ExecuteNonQuery("Member_UserLoginInsert '" + Utils.KillChars(UserName) + "',1,'" + Request.UserHostAddress+"'");
                        //if (IsLogin)
                        //{
                        //    Utils.ShowMessageBoxAndRefresh(this.Page, "Tên đăng nhập " + UserName + " đã được đăng nhập ở IP:" + cache[UserName] + " tài khoản " + UserName + " sẽ bị Logout ở IP " + cache[UserName] + " này", "Default.aspx");
                        //}
                        //else
                        //{
                        //    Response.Redirect("Default.aspx");
                        //}
                    }
                }
                else
                {
                    //insert vao log chi duoc 5 lan
                    DB.ExecuteNonQuery("Member_UserLoginInsert '" + Utils.KillChars(UserName) + "',0,'" + Request.UserHostAddress + "'");
                    this.lblFailure.Text = Failure;
                }
            }
            else
            {
                this.lblFailure.Text = "Tài khoản của bạn đã bị khóa. Vui lòng đăng nhập lại sau 15 phút";
                this.btnOk.Enabled = false;
            }

        }
        */
    }

    private bool checkMultiLogin(string UserName)
    {
        bool result = false;
        if (cache[UserName] != null && cache[UserName] != Request.UserHostAddress)
        { // Tren cung ip thi k xet dieu kien    
            result = true;
        }
        return result;
    }
}





